Skip to content

feat: /lang command with per-player, persisted language - #29

Merged
hbrombeer merged 1 commit into
mainfrom
feat/lang-command
Jul 30, 2026
Merged

feat: /lang command with per-player, persisted language#29
hbrombeer merged 1 commit into
mainfrom
feat/lang-command

Conversation

@hbrombeer

Copy link
Copy Markdown
Member

/lang [<code>] lets a player pick their language (en, de, fr, es). Cached in memory for the render path, published to localized plugins via PlayerLocaleQuery in the registry (mirrors PlayerSessionQuery), and persisted through service-player — loaded back on join.

  • GrpcPlayerPresenceClient get/setLocale on the existing authed stub
  • PlayerLocaleCache + LocaleConnectionListener (PostLogin load / Disconnect evict)
  • LangCommand updates the cache first, writes durably off-thread
  • bumps grpc-contracts-player 0.6.0 + plugin-proxy-api 0.5.0

Final plugin in the /lang chain (with plugin-social's resolver).

🤖 Generated with Claude Code

https://claude.ai/code/session_01LQVxNNbkovNsRstv82kQSy

/lang [<code>] lets a player pick their interface language from the set
the network ships bundles for (en, de, fr, es). The choice is cached in
memory for the render path, published to localized plugins through the
ProxyServiceRegistry (PlayerLocaleQuery), and persisted via service-player
so it survives reconnects — loaded back into the cache on join.

- GrpcPlayerPresenceClient: getLocale/setLocale on the existing authed stub
- PlayerLocaleCache + LocaleConnectionListener (PostLogin load, Disconnect evict)
- PlayerLocaleQueryImpl registered into the registry, mirroring PlayerSessionQuery
- LangCommand: cache updated first (felt on the next message), durable write off-thread

Bumps library-grpc-contracts-player 0.6.0 + plugin-proxy-api 0.5.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LQVxNNbkovNsRstv82kQSy
@hbrombeer
hbrombeer merged commit 7a5df7f into main Jul 30, 2026
3 checks passed
@hbrombeer
hbrombeer deleted the feat/lang-command branch July 30, 2026 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant